#include<iostream>
#include<queue>
using namespace std;

namespace Mango
{
template<class T,class Container = deque<T>>
class stack
{
public:
    ~stack()
    {}
    stack()
    {}
    void push(const T& val)
    {
        _con.push_back(val);
    }
    void pop()
    {
        _con.pop_back();
    }
    T& top()
    {
        return _con[_con.size()-1];
    }
    bool empty()
    {
        return _con.empty();
    }
    size_t size()
    {
        return _con.size();
    }
private:
    Container _con;
};
}